#ifndef _SOCKS5_SERVER_H_
#define _SOCKS5_SERVER_H_ 1

#include "Common.h"
#include "Socket.h"

const INT DEFAULT_LISTENING_PORT = 52451;
const INT DEFAULT_MAX_SIMULTANEOUS_CONNECTIONS = 5;

class Socks5Server : public Socket
{
private:
	INT m_listeningPort; /*default = DEFAULT_LISTENING_PORT*/
	static HANDLE m_hInstance;

	Socks5Server(INT port);

public:
	~Socks5Server();
	static Socks5Server* GetInstance(INT port = DEFAULT_LISTENING_PORT);
	Socket* Accept();
};

#endif